home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK2.toast / Development Kits (Disc 2) / QuickTime™ VR 2.0 SDK / QTVR C⁄C++ Runtime API / Sample Code / QTVRSamplePlayer / src / MacUtils.c < prev    next >
Encoding:
Text File  |  1997-05-22  |  2.1 KB  |  141 lines  |  [TEXT/CWIE]

  1. // Miscellaneous Macintosh Utilities
  2.  
  3. // Application-specific headers
  4. #include "app.h"
  5.  
  6. // API headers
  7.  
  8. // System headers
  9. #include <Dialogs.h>
  10. #include <Fonts.h>
  11.  
  12. // Constants
  13.  
  14. enum {
  15.     kGenericMessageDLOG = 4096,
  16.     kGenericQuestionDLOG
  17. };
  18.  
  19. #define    kGenericMessageID    1    
  20. #define    kGenericOK            2    
  21. #define kGenericCancel        3
  22.  
  23.  
  24. /////
  25. //
  26. // Enable or Disable a menu item based on a flag
  27. //
  28. /////
  29.  
  30. void EnDisItem (MenuHandle mh, short item, Boolean enable)
  31. {
  32.     if (enable) {
  33.         EnableItem(mh, item);
  34.     } else {
  35.         DisableItem(mh, item);
  36.     }
  37. }
  38.  
  39.  
  40. /////
  41. //
  42. // Enable or Disable an item's checkmark based on a flag
  43. //
  44. /////
  45.  
  46. void SetCheckMark(MenuHandle mh, short item, Boolean enable)
  47. {
  48.     if (enable) {
  49.         SetItemMark(mh, item, checkMark);
  50.     } else {
  51.         SetItemMark(mh, item, noMark);
  52.     }
  53. }
  54.  
  55.  
  56. /////
  57. //
  58. // Post a message to the user
  59. // Note that this requires a DLOG resource #4096
  60. //
  61. /////
  62.  
  63. void UserMessage(Str255 theMessage)
  64. {
  65.     short    itemHit;
  66.     DialogPtr    myDlg;
  67.     short    itemType;
  68.     Handle    itemHandle;
  69.     Rect    itemRect;
  70.  
  71.     Boolean    done = false;
  72.     SysBeep(30);
  73.     
  74.     myDlg = GetNewDialog( kGenericMessageDLOG, 0, (WindowPtr) -1);
  75.     SetDialogDefaultItem(myDlg, kGenericOK);
  76.     GetDItem(myDlg, kGenericMessageID, &itemType, &itemHandle, &itemRect);
  77.     SetDialogItemText (itemHandle, theMessage);
  78.  
  79.  
  80.     while ( !done)
  81.         {
  82.         ModalDialog( 0, &itemHit );
  83.         switch ( itemHit ) 
  84.             {
  85.             case kGenericOK:
  86.                 done = true;
  87.                 break;
  88.             }
  89.         } 
  90.     DisposDialog( myDlg);
  91.  
  92. }
  93.  
  94.  
  95.  
  96. /////
  97. //
  98. // Post a question to the user
  99. // Note that this requires a DLOG resource #4097
  100. //
  101. /////
  102.  
  103. Boolean UserQuestion(Str255 theMessage)
  104. {
  105.     short    itemHit;
  106.     DialogPtr    myDlg;
  107.     short    itemType;
  108.     Handle    itemHandle;
  109.     Rect    itemRect;
  110.     Boolean result = true;
  111.  
  112.     Boolean    done = false;
  113.     SysBeep(30);
  114.     
  115.     myDlg = GetNewDialog( kGenericQuestionDLOG, 0, (WindowPtr) -1);
  116.     SetDialogDefaultItem(myDlg, kGenericOK);
  117.     GetDItem(myDlg, kGenericMessageID, &itemType, &itemHandle, &itemRect);
  118.     SetDialogItemText (itemHandle, theMessage);
  119.  
  120.  
  121.     while ( !done)
  122.         {
  123.         ModalDialog( 0, &itemHit );
  124.         switch ( itemHit ) 
  125.             {
  126.             case kGenericOK:
  127.                 done = true;
  128.                 break;
  129.             case kGenericCancel:
  130.                 done = true;
  131.                 result = false;
  132.                 break;
  133.             }
  134.         } 
  135.     DisposDialog( myDlg);
  136.     return result;
  137. }
  138.  
  139.  
  140.  
  141.